home *** CD-ROM | disk | FTP | other *** search
- PRT_LINE x1k1 ╔═════════════════╗
- ║ MC68901 ║
- ║ bit assignments ║
- ╚═════════════════╝
- Motorola Corporation 68901
- Multi-Fonction Peripheral
- ┌──────────────────────────────┐
- │ General Purpose input output │ b7=monochrom monitor (NOT)
- │ Interrupt Port │ b6=auxiliary ring indicator (NOT)
- │ │ b5=FDC/HDC (NOT)
- │ │ b4=MC6850_IKBD/MC6850_MIDI (NOT)
- │ │ b3=blitter busy (NOT)
- │ │ b2=auxiliary clear to send (NOT)
- │ │ b1=auxiliary data carrier detected (NOT)
- │ │ b0=printer busy (NOT)
- └──────────────────────────────┘
- ┌──────────────────────┐
- │ Active Edge Register │ b7-b0=(see GPIP) (0:low 1:high)
- └──────────────────────┘
- ┌─────────────────────────┐
- │ Data Direction Register │ b7-b0=(see GPIP) (0:input 1:output)
- └─────────────────────────┘
- ┌─────────────────────────────┐ Priority &
- │ Interrupt Enable Register A │ Vector [b3-b0]
- │ │ b7=monochrom monitor 1111
- │ │ b6=auxiliary ring indicator 1110
- │ │ b5=timer A 1101
- │ │ b4=auxiliary receive register full 1100
- │ │ b3=auxiliary receive error 1011
- │ │ b2=auxiliary transmit register empty 1010
- │ │ b1=auxiliary transmit error 1001
- │ │ b0=timer B 1000
- ├─────────────────────────────┤
- │ Interrupt Enable Register B │ b7=FDC/HDC 0111
- │ │ b6=MC6850_IKBD/MC6850_MIDI 0110
- │ │ b5=timer C 0101
- │ │ b4=timer D 0100
- │ │ b3=blitter busy 0011
- │ │ b2=auxiliary clear to send 0010
- │ │ b1=auxiliary data carrier detected 0001
- │ │ b0=printer busy 0000
- │ │ (0:disable 1:enable)
- └─────────────────────────────┘
- ┌───────────────────────────────┐
- │Interrupt Pending Register A/B │ b7-b0=(see IERA/B) (0:nothing 1:pending)
- └───────────────────────────────┘
- ┌───────────────────────────────┐
- │Inter. In Service Register A/B │ b7-b0=(see IERA/B) (0:nothing 1:in service)
- └───────────────────────────────┘
- ┌─────────────────────────────┐
- │ Interrupt Mask Register A/B │ b7-b0=(see IERA/B) (0:masked 1:authorized)
- └─────────────────────────────┘
- ┌─────────────────┐
- │ Vector Register │ b7-b4=[b7-b4]=non auto-vector high
- │ │ b3=software interrupt mode
- │ │ 0:automatic end of interrupt
- │ │ 1:software end of interrupt
- └─────────────────┘
- ┌────────────────────────────┐
- │ Timer A/B Control Register │ b4=reset
- │ │ 0:no
- │ │ 1:yes
- │ │ b3-b0=mode
- │ │ 0000:stop
- │ │ 0001:delay fr./4
- │ │ 0010:delay fr./10
- │ │ 0011:delay fr./16
- │ │ 0100:delay fr./50
- │ │ 0101:delay fr./64
- │ │ 0110:delay fr./100
- │ │ 0111:delay fr./200
- │ │ (frequency=2.4576 MHz)
- │ │ 1000:event count
- │ │ (timer A input=printer busy )
- │ │ (timer B input=display enable)
- │ │ 1001:measure fr./4
- │ │ 1010:measure fr./10
- │ │ 1011:measure fr./16
- │ │ 1100:measure fr./50
- │ │ 1101:measure fr./64
- │ │ 1110:measure fr./100
- │ │ 1111:measure fr./200
- └────────────────────────────┘
- ┌────────────────────────────┐
- │ Timer C+D Control Register │ b6-b4=timer C mode (see timer A/B b2-b0)
- │ │ b2-b0=timer D mode (see timer A/B b2-b0)
- │ │ (serial clock=timer D output)
- └────────────────────────────┘
- ┌─────────────────────────────┐
- │ Timer A/B/C/D Data Register │ b7-b0=data
- └─────────────────────────────┘
- ┌───────────────────────────────┐
- │Synchronous Character Register │ b7-b0=character
- └───────────────────────────────┘
- ┌───────────────────────────────┐
- │ Universal │ b7=serial frequency
- │ synchronous asynchronous │ 0:frequency
- │ receiver transmitter │ 1:frequency/16
- │ Control Register │ b6-b5=character size
- │ │ 00:8 bits
- │ │ 01:7 bits
- │ │ 10:6 bits
- │ │ 11:5 bits
- │ │ b4-b3=frame
- │ │ transmission start-bit stop-bit
- │ │ 00:synchronous 0 0
- │ │ 01:asynchronous 1 1
- │ │ 10:asynchronous 1 1.5
- │ │ 11:asynchronous 1 2
- │ │ b2=parity
- │ │ 0:no
- │ │ 1:yes
- │ │ b1=parity type
- │ │ 0:odd
- │ │ 1:even
- └───────────────────────────────┘
- ┌──────────────────────────┐
- │ Receiver Status Register │ b7=buffer full (0:no 1:yes)
- │ │ b6=overrun error (0:no 1:yes)
- │ │ b5=parity error (0:no 1:yes)
- │ │ b4=frame error (async.) (0:no 1:yes)
- │ │ b3=found (sync.) / break (async.)
- │ │ 0:found 0:no detecded
- │ │ 1:search 1:detected
- │ │ b2=match (sync.) / character (async.)
- │ │ 0:no 0:nothing
- │ │ 1:yes 1:in progress
- │ │ b1=synchronous strip
- │ │ 0:disable
- │ │ 1:enable
- │ │ b0=receiver
- │ │ 0:disable
- │ │ 1:enable
- └──────────────────────────┘
- ┌─────────────────────────────┐
- │ Transmitter Status Register │ b7=buffer empty (0:no 1:yes)
- │ │ b6=underrun error (0:no 1:yes)
- │ │ b5=auto turnaround (0:no 1:yes)
- │ │ b4=end of transmission (0:no 1:yes)
- │ │ b3=break (async.) (0:no 1:yes)
- │ │ b2-b1=low and high bits
- │ │ 00:high impedance
- │ │ 01:low
- │ │ 10:high
- │ │ 11:high (loop back)
- │ │ b0=transmitter
- │ │ 0:disable
- │ │ 1:enable
- └─────────────────────────────┘
- ┌─────────────────────┐
- │ USART Data Register │ b7-b0=data
- └─────────────────────┘
-